package com.rftennis.service.impl;




import org.apache.ibatis.session.SqlSession;

import com.rftennis.dao.ProductDao;
import com.rftennis.dao.SqlSessionUtil;
import com.rftennis.dto.ProductDetailContext;
import com.rftennis.entity.ProductEntity;
import com.rftennis.service.ProductService;


public class ProductServiceImpl implements ProductService {

	
	@Override
	public ProductDetailContext getProductDetail(String productId) throws Exception {
		//1验证参数
		
		//2执行逻辑
		//2.1获取连接
		SqlSession session=SqlSessionUtil.getSession();
		//动态生成一个类实现Dao接口
		ProductDao pDao=session.getMapper(ProductDao.class);
		//通过Dao去调用查询方法然后把结果保存在商品实体对象里
		ProductEntity pEntity=pDao.selectById(productId);
		//判断商品是否存在
		if(pEntity==null) {
			throwException("商品已下架或不存在");
			
		}
		//3组装结果
		//创建商品详情上下文对象
		ProductDetailContext pc=new ProductDetailContext();
		//将需要返回给用户的商品详情上下文数据传进去
		pc.setId(pEntity.getId());
		pc.setName(pEntity.getName());
		pc.setProductImagesId(pEntity.getProductImagesId());
		pc.setProductCategroyId(pEntity.getProductCategroyId());
		pc.setProductPropertyId(pEntity.getProductPropertyId());
		
		
		return pc;
	}
}
